#include<stdio.h>
#include<stdlib.h>
#include<string.h> // memset 
#include<time.h>
#include<string>
#include<iostream>


#include<sys/types.h> //使用网络包含的库
#include<unistd.h>
#include<arpa/inet.h>
#include<netinet/in.h> 
#include<pthread.h>  
#include<thread>


#include "include/config.h"
#include "include/tools.h" 


using namespace std;


/*
在这里设置手动处理函数，最下面"initViewFunction()"添加路由
*/  

void handle_get_userID(const HqHttpHead &head, HqHttpResHead &res,  char *buf2 )
{ 
    // 必须处理的：
    // 下面写处理逻辑，将body放入 buf2中， 
    // cout << "处理逻辑" << endl;
    res.setCode(200);
    string line = "{\"userID\":\"S1707310226\"}" ;
    const char *p = line.c_str();
    int l = sprintf(buf2, "%s", p); 
    res.setBody(buf2, l);
    res.setType("text/json;charset=utf-8");
};

void handle_get_userName(const HqHttpHead &head, HqHttpResHead &res,  char *buf2 )
{ 
    // 必须处理的：
    // 下面写处理逻辑，将body放入 buf2中， 
    res.setCode(200);
    string line = "{\"userName\":\"huohuaqi\"}" ;
    const char *p = line.c_str();
    int l = sprintf(buf2, "%s", p); 
    res.setBody(buf2, l);
    res.setType("text/json;charset=utf-8");
};

void redirect_index(const HqHttpHead &head, HqHttpResHead &res,  char *buf2 )
{ 
    // 必须处理的：
    // 下面写处理逻辑，将body放入 buf2中， 
    res.setCode(301);  
    res.setType("text/plain;charset=utf-8");
    res.setHeader("Location", "/index.html");
};

 
// 在这里添加路由
void initViewFunction() {
    ALL_VIEW.insert( {"/", redirect_index} ); 
    ALL_VIEW.insert( {"/get/userID", handle_get_userID} ); 
    ALL_VIEW.insert( {"/get/userName", handle_get_userName} ); 
}




